1
La méthode scientifique pour l'optimisation HIP
AI024Lesson 7
00:00

L'optimisation dans l'environnement HIP doit être considérée comme une discipline empirique rigoureuse plutôt que comme une série de suppositions intuitives. En adoptant un flux de travail systématique, les développeurs s'assurent que chaque modification de code est justifiée par des données, éloignant ainsi l'ingénierie des performances de la « superstition de l'optimisation » vers un cycle scientifique reproductible d'hypothèse et de vérification.

Le flux de travail en 6 étapes

Les directives de performance HIP recommandent une séquence systématique :

  1. Mesurer une base: Déterminer le temps d'exécution actuel et le débit.
  2. Profiler le programme: Utiliser rocprofv3 pour collecter les compteurs matériels.
  3. Identifier le goulot d'étranglement: Déterminer si vous êtes limité par le calcul, la mémoire ou la latence.
  4. Appliquer des optimisations ciblées: Se concentrer uniquement sur le goulot d'étranglement identifié.
  5. Re-mesurer: Vérifier si le changement a réellement amélioré les performances.
  6. Itérer: Répéter le processus jusqu'à atteindre les objectifs.
1. Mesurer la base2. Profiler3. Identifier le goulot d'étranglement4. Optimiser

Éviter les superstitions d'optimisation

Les gains de performance doivent être des résultats reproductibles issus d'interactions spécifiques avec le matériel. Évitez ces anti-modèles:

  • Modifier le code du noyau avant de mesurer les performances actuelles.
  • Ajuster la taille du bloc sans savoir si le noyau est limité par la mémoire.
  • Poursuivre des chiffres d'occupation sans preuve qu'ils importent pour le travail spécifique.
main.py
TERMINALbash — 80x24
> Ready. Click "Run" to execute.
>